Numerical control devices

ABSTRACT

A numerical control device for positioning a movable member includes an interpolation unit which effects numerical control by circular interpolation, approximating the arc of a circle by a series of straight line segments. Referred to the origin of the circle, the incremental displacement components required to move from any point (xi, yi) on the circle are shown to be yi/K along the x-axis and xi/K along the y-axis, where K is a predetermined factor. The interpolation unit operates in a succession of phases corresponding to said segments and includes means to divide said coordinates (xi, yi) by K, and means for summing said resultants to form summations ( Sigma xi/K, Sigma xi/K ). The error in approximating to said arc is maintained below a predetermined maximum by starting a new interpolation phase whenever Sigma xi/K or Sigma yi/K reaches a predetermined value. The interpolation unit also includes means for summing the components Delta xi, Delta yi of the path segments corresponding to successive interpolation phases. To limit the speed of the member, the interpolation unit sums the incremental displacement components (xi/K, yi/K) over a time cycle comprising several interpolation phases. The interpolation is stopped if the summation of either of the displacement components reaches a predetermined value corresponding to a maximum velocity component.

United States Patent Pomella et a1.

[451 Nov.21, 1972 [S41 NUMERICAL CONTROL DEVICES Primary Examiner-Benjamin Dobeek [72] Inventors: Piero Pomella, Piazza Balla, 14; Lu- Attorney-Harold eiano Lauro, Stradale Turin, 411, both of lvrea, [taly [5 7] ABSTRACT A numerical control device for positioning a movable [22] Filed 1971 member includes an interpolation unit which effects [2|] Appl. No.: 170,491 numerical control by circular interpolation, approximating the are of a circle by a series of straight line Rehm Application Data segments. Referred to the origin of the circle, the in- [63] Continuation-impart of S N 47,333, June cremental displacement components required to move 18, 1970, abandoned. yJK along the x-axis and xi/K along the y-axis, where K is a predetermined factor. The interpolation unit [30] Foreign Application Priority Data operates in a succession of phases corresponding to said segments and includes means to divide said co- June K and meanzs for said resultants to form summations Jq/K, x K The 18/ 3 l error in approximating to said are is maintained below I a l s u s s u s s s Q s s n s s I I s u I 1 s v In: u u n v lo a a [58] Field oiSearch..3I8/57l,573,235/183, 151.11 polation phase whenever Sun/K or EyI/K reaches a predetermined value. The interpolation unit also in- [561 Rekrences (med eludes means for summing the components Ax Ay, of

UNITED STATES PATENTS the path segments corresponding to successive interpolatlon phases. To limit the speed of the member, the 3il09'092 0/1963 et 318/573 X interpolation unit sums the incremental displacement POnFCna et al- X components n/K over a time cycle compri ing Sfikl X several interpolation phases The inerpoation is 3,621,216 1 1/1971 Wo tz an -313/573 x stopped it the summation of either of the displacement Okamoto X components reaches a predetermined value corresponding to a maximum velocity component.

18 Claims, 7 Drawing Figures -3 li y U 2x x L R f 2 ,1 a \J 2 Yi Xi R2 k E k y R (U9 -9 Yr y i *i y H x W6 2 Ayi Awak- A "ii? i L R3 C U PATENTED NM 21 I972 3. 703. 327

SHEEI I'DF 5 o q in m x u. J J J INVENTOR PATENTEDIIUVZI m2 SHEETZUFS N oE PATENTED 2 1 2 SHEET 3 BF 5 PATENTEU 21 I97? 3. 703. 327

SHEEI '4 (IF 5 ASYM Asx

Asz

NUMERICAL CONTROL DEVICES CROSS-REFERENCE TO RELATED APPLICATION This application is a continuation-in-part of our application Ser. No. 47,388 filed June I8, 1970 now abandoned.

BACKGROUND OF THE INVENTION This invention relates to a numerical control device for positioning of a movable member, e.g., part of a machine tool such as the headstock, or a worktable. The device comprises an interpolating unit and effects numerical control of the continuous type using a socalled circular" interpolation, so as to control the displacements of the movable member along a path represented by any continuous line desired, approximated by arcs of a circle.

Devices for continuous numerical control of the positioning of a movable member are already known; one of these devices is described in U.S. Pat. No. 3,518,5l3 assigned to the Assignee of the present application.

The device described in the aforementioned patent provides for continuous numerical control of a movable member along one or more axes, is fed by a program member which supplies discontinuous position orders, and comprises an interpolating unit adapted to compute and store position increments during subsequent interpolating cycles.

The device described in the patent mentioned above operates as a computer, being fed with discrete geometric data, as well as other data such as maximum permitted speeds, recorded, for instance, on a punched paper tape, and this computer is able to supply, in a substantially continuous way, the commands for positioning along all the intermediate points pertaining to the path segment which connects the discrete points supplied by the program. The data supplied by the interpolating unit will cause these intermediate points, comprised between the successive pairs of discrete points of the program, to fall on the straight line segment connecting each pair of discrete points, that is to say that the interpolating unit is capable of effecting a so-called "linear interpolation by means of which the theoretical path passing through the discrete points of the program is approximated by an actual path formed by a broken line composed by a plurality of straight segments.

The device described above, although providing for control of the movement of the movable member of a machine tool along one or more axes, so as to allow the performance of even highly complex machining operation and requiring only a very simple programming (in fact, it is necessary to program solely the coordinates of the discrete points of the path desired and the value of the maximum feed speed allowed along the displacement axes, for each of the segments comprised between the various pairs of discrete points), is however subject to the drawback arising from the fact that the path actually followed by the movable member is, in some instances, an unacceptable approximation to the theoretical path, or that, in order to approach this theoretical path, rather tedious programming is required, it being necessary to fix a high number of discrete points to approach the theoretical path by means of straight segments, with a higher degree of accuracy.

The time required by the machine for carrying out such program is then long, resulting in a very long overall time for machining the workpiece.

Devices for continuous numerical control of the positioning of a movable member are also known which are adapted to cause the member to move along a path formed by a broken line, whose straight segments together approach a predetermined geometrical curve, the latter being identified by means of the coordinates of some of its points, recorded on a program member of the device. Among these devices, the most widely known are those effecting the so-called circular and parabolic interpolations. Depending on whether the said broken line, forming the path of the movable member, is obtained by interpolation of a circle or parabola, the interpolating devices are adapted to effect a circular or parabolic interpolation, respectively.

The known devices for effecting circular interpolation can be subdivided essentially into two classes.

In a device of a first class, the movable member is displaced by a sequence of straight increments of position, each of which is computed during one interpolation cycle and is equal to the length of one segment of the broken line approaching the arc of circle to be interpolated. Each segment of this broken line is parallel to the tangent drawn to the aforementioned circle at the point where the radius, connecting the center of the circle with the starting point for the interpolation cycle, intersects the same circle. The angular increment, to pass from one vertex of this broken line to the next one, is constant and, therefore, each segment of the broken line will form a constant angle with the adjacent ones.

However, this class of device suffers from some drawbacks. First of all, the error incurred in the various cycles of interpolation is different and increases as the interpolation proceeds. Further, when curves constituted by arcs of circles of different radii must be interpolated, it is necessary to vary the angular increment to pass from one vertex of the broken line to the next, in order that the errors incurred in the various cycles of interpolation shall be not much different from one another.

In a device of the second class mentioned above, in each interpolation cycle the final point of each increment of position (corresponding to a segment of the broken line approaching the arc of circle) is determined by a rather complex geometric construction. This construction consists first in determining, on the tangent to the circle passing through a point from which the interpolation originates, a segment of predetermined length, which defines a first right-angled triangle having a vertex at the center of the circle; second, by defining a second right-angled triangle having a vertex coincident with the center of the circle and the right-angled vertex lying in the middle point of said predetermined segment. The final point to be obtained through the interpolation is found by parallelly translating that side of said second right-angled triangle which does not contain the center of the circle to form a straight line passing through the point from which the interpolation starts. Such a device operates with a succession of complex operations, and is therefore rather complicated.

An Object of the present invention is to avoid the disadvantages enumerated above.

SUMMARY OF THE INVENTION The numerical control device of this invention for positioning in a continuous manner the movable member of a machine tool or the like which is movable at least along two axes (x, y), receives from a program unit discontinuous position orders which identify arcs of a circle belonging to the path to be followed. An interpolating unit is fed by the program unit and operates through a succession of interpolating phases, each of which is used to compute a path segment which is a tangent to one of said arcs. The interpolating unit comprises means for dividing by a predetermined factor K each coordinate (x,, y,) of the point from which each interpolation phase originates so as to obtain ratios x,/ K, )n/K which represent components along the axes y and x respectively of increments of displacement along each of said path segments, and means for effecting, during each interpolation phase, the calculation of the summations of said components of the displacement increments, Min/K), E(y,/K), these two summations comprising the same number of terms and representing the components Ax,. Ayn, along the axes x, y, of each of said path segments, according to the relations:

The interpolating unit also includes means for carrying out the sum of the components Ax Ay, relative to the various interpolation phases.

BRIEF DESCRIPTION OF THE DRAWINGS For a better understanding of the present invention there will now be given, by way of example, the description of a preferred embodiment thereof, with reference to the drawings, in which:

FIG. I illustrates the techniques by which there is effected the interpolation of a stretch of circular path comprised in a plane in accordance with the invention;

FIG. 2 shows a general block diagram of an apparatus for the continuous numerical control of the positioning of a movable member of a machine tool, in which the device of the present invention is incorporated;

FIG. 3 shows a block diagram of the interpolation unit of the device of the invention which forms part of the apparatus of FIG. 2;

FIG. 4 shows, diagrammatically, the technique by which there is controlled the maximum velocity of the movable member along the trajectory, in accordance with the present invention;

FIG. 5 shows a block diagram of a unit for controlling the maximum velocity of the movable member, which unit is incorporated in the apparatus of FIG. 2 and works according to the diagram of FIG. 4;

FIG. 6 shows, diagrammatically, the techniques by means of which there are obtained two axial components of the tangential speed of a point which moves on an arc of the circle of the path;

FIG. 7 shows a block diagram of a unit which works in the basis of the previous Figure for obtaining the aforesaid components and which is incorporated in the apparatus of FIG. 2.

DESCRIPTION OF THE PREFERRED EMBODIMENT The device to be described can control, in a continuous manner, the positioning of the movable member of a machine tool (for instance the headstock or the worktable) or another movable member, by means of a servo-system provided on each axis, adapted for positioning the movable member under the control of position orders recorded on a program member and supplied to the device in a discontinuous manner.

In the following description, reference will be made to a machine tool whose movable member is displaceable along two or more axes, but for simplicity it will be assumed in the detailed description that the movable member can be displaced along two axes, namely the x and y axes. Thus the movable member must undergo displacements along a continuous path lying in the x, y plane (FIG. I) and formed by a line comprising arcs of circles of different radius, one of which, C,, is shown in FIG. 1 and has starting and finishing points P, and P respectively and a center 0, coinciding, for simplicity, with the origin of the axes.

To approximate the arc of circumference P,P the interpolating unit is arranged to work substantially in the following manner.

The movable member is caused to move, in a first interpolation phase, along the tangent to the circle C, at P, so as to cover a segment P,-P =1, (FIG. I Such a displacement has displacement components Ax, and Ay, on the two axes of amount:

The second interpolation phase originates from the point P, which lies on the circle C, with center 0 and gives rise to a displacement P,-P,,=l along the tangent at P to the aforesaid circle C with the displacement components Ax Ay Successive phases originate from the points P;,, P, belonging to the circles C,,,C, with center 0 and give rise to the displacements P -P, =l,,, P, P, =1. along the tangents at P,,,P to the circles C, and C.,, with displacement components As A and Ax Ay..

By considering Ax, =x,,, x,, and Ay, y, y, as two typical generic components of the displacement, and by marking with the index i the coordinates of a generic point along the arc of the circle C, to be interpolated, referred to the center 0 of the circle itself, since the triangles 0 Pm, P, P Sm. are similar, we have um): =yi/ i (I) During each interpolation phase corresponding to a displacement of the movable member P, P =l,, such a member is caused to move by means of a series of displacement incresments an all equal to one another. Whilst a displacement P, P", has been called an interpolation phase, a displacement increment 8!, can be considered as a microphase whose components on the x and y axes in order to be able to satisfy (I) can be represented respectively by:

n 11 i yi+i=yi sy=lli ;fi (3) in the equation (3) before the summations there appears the plus or minus sign. it is evident that such signs depend on the quadrant in which the arc of circle that is to be interpolated is positioned.

The coordinates x.,, y., of a variable point (Figure 1) along a segment i P of the broken line P 2 P5 which approximates the arc of circle, is given by the relations:

v F xv=m 1 v d: y K (4) in which the summations are made over v terms where v n. For example in the case of the point shown in Figure 1, the coordinates x and y calculated by equation (4) are:

From equation (3) the displacement components Ax Ay, can be seen to be:

in which R, and are respectively the radius of the circle C1 and the angle subtended at the vertex 0 by the arc P, P.

cos 0,

For a generic interpolation phase originating at the point i the error is R i being the radius of the circle of centre 0 passing through i and 6, the angle formed between such radius and the radius R,,,

Equation (8) can be written in a simpler form with some approximation. in fact, by selecting sufiiciently small values of the components Ax, A y; and therefore of Or (in Figure 1 such values have been substantially increased for clarity) it is possible to equate with good approximation sin 6; with tan 8., and taking into account that I; R, tan (it, we have V Expanding l/cos 6, gives Since I. is small compared to R terms after the second can be ignored, and substituting for 10) in (8) gives:

t f/2R.) (ll) Assuming now we approximate, in the manner indicated, a complete circle, with a number of interpolation phases executed with equal values of the parameter 0,, since there are required in such a case with good approximation 21rR II, phases, the error a incurred for the interpolation of a complete circle will be:

Since, as is clearly seen from FIG. 1, l, is given by:

f V F+ Y3 (is) on the basis of equations (6), l l) and (12) we obtain:

and

From (15) it can be seen that the interpolation error for interpolating a complete arc of a circle (the same conclusion holds good for the interpolation of a half or a quadrant a circle) is independent of the radius of the circle itself, but depends solely on the values of the displacement components Ax Ay which are selected during the interpolation. Taking for example:

Ax,= Ay. 1 micron, has the value:

c, 3.14 X 1.41 4.5 micron. Therefore, to have a small interpolation error c it is sufficient to select small values of Ax, and Ay In particular, to cause the error c to be less than a predetermined value (for example 4.5 microns) it is sufficient to ensure that the value of the components Ax; and Ay in each interpolation phase, does not exceed a predetermined value (for example 1 micron).

From equations (14) and (15) it will be observed that the value chosen for K influences the errors e. and s in fact, since the summations contain a whole number of predetermined terms xJK, yJK, the values of q and e, are realized with greater precision with a high value of K.

From be 15) it can again b3 observed that to render the error a approximately constant upon varying the radius of the circle R, to be interpolated, it is necessary to vary the value of K when one passes from one are of circle to another are of different radius. In fact, by varying R, the coordinates x,, y, of the points from which the interpolation is initiated vary. For example, for circles with large values of the radius R, there correspond large values of x, or of y, as can be seen from FIG. 1. Therefore, on the basis of equation (15), if we wish to obtain a constant error 5, upon varying R,, for high values of R, (and hence of x, or yd it is necessary to use correspondingly high values of K. In general, the value of K has to vary directly with the value of R, to obtain an approximately constant error 1,.

DESCRIPTION OF THE INTERPOLATING UNIT OF THE APPARATUS OF THE INVENTION The device of the present invention is provided with an interpolating unit which is able to work on the basis of equations (3), (4), (5) and (6). In these formulas, as has been seen, 1:, and y, represent the displacement components along the x axis and along the y axis and by which there is controlled the displacement of the movable member of the machine, in the manner which will be indicated. Since, upon the basis of equations (14) and of (15) the value both of the error e, effected in each interpolation phase and of the error c effected to interpolate the entire circle depend entirely upon the displacement components, to contain such errors below predetermined values, the values of An and Ay, are limited in such a way that the aforesaid values of the errors are not exceeded. To do this, on the basis of the relations (14) and (15) it is necessary to limit appropriately the number of the terms of the summations in the final term of these relations. When in an interpolation phase the value of the error e, exceeds that allowed, one passes to a subsequent interpolation phase. That is to say, with reference to the interpolation phases of FIG. I, supposing for example that we have departed from a point P, with coordinates it y,, and arrived at the point P, with coordinates x,, y,, and that the error e, incurred in the phase P P, has reached the maximum value allowed, the interpolating unit then effects a successive interpolation phase taking the point P, as initial point and causing the movable member to cover the segment P,P, the direction of which is substantially that of the tangent at the point P, to the circle Cg.

If the errors a in each interpolation phase are kept approximately constant it follows that the angle 0,, 0, 0,, relating to each interpolation phase, are not equal, and the segments of the broken line P,, P, P, which represent the path which approximates the arc of circle have, in general, a different length.

The control of the error incurred in interpolating an arc of a circle can therefore be effected through the control of the displacement components Ax. and Ay,. Since in each interpolation phase Ax is different from A). if we ensure that the greater of the two components does not exceed a predetermined maximum value, the error which is incurred, on the basis of equations (14) and (15), will be less than that which there would be if the components were to be equal and both assumed such a predetermined value. Therefore, the interpolation device of the invention checks both the Ax, and the Ay; components and is arranged to cause an interpolation phase to end in order to pass to a successive phase when either one only of the two components reaches a predetermined value. Such a predetermined value can be any suitable value and can be equal to C. U, where C is a constant and U a unit of length. It is deemed appropriate, in the case of the interpolation unit of the embodiment described, for reasons which will be specified later on, to select C l and U I micron.

The device can be incorporated into an apparatus for the continuous numerical control of a movable member of the type shown diagrammatically in FIG. 2 and whose general structure is known from the aforementioned Patent. Such an apparatus comprises a program member, for example a tape reader 1, which is connected to feed an interpolation unit 2, which is essentially a digital computer. The interpolation unit 2 feeds, in its turn, a digital to analog converter 3 which controls servo mechanisms 4,, 4,, and 4, adapted to position the movable member along the axes x, y and z.

The operation of the apparatus comprises a first period in which the program member supplies to the interpolation unit the coordinates of the points of the path and the maximum velocity with which this path has to be covered. There follows a second period in which, the program member 1 remaining inactive, there occurs the interpolation proper, and the interpolation unit 2 is active to control, in real time, the positioning of the movable member.

The servo mechanism 4,, 4, and 4, are position servo mechanisms adapted once a position order is received, to bring the movable member to the position indicated. The servo mechanisms therefore receive position orders at a rate dependent on the rate at which the interpolation cycles follow one another.

According to one embodiment of the apparatus of FIG. 2, for each displacement axis of the machine tool there is provided a separate digital to analog converter,

whose input is fed by the digital signal processed by the interpolation unit, and whose output supplies an analog control signal to a transducer which controls the movement of the movable member of the machine tool along a corresponding displacement axis.

According to an alternative embodiment of the tap paratus of FIG. 2, if it is desired to reduce the number of digital to analog converters necessary, use is made of a single converter for all the displacement axes. In such a case it is necessary to send the information signal to the transducers relating to the various displacement axes in time-division multiplex. In such a technique the axes are cyclically addressed for sending the corresponding signals, and therefore the information signals which relate to one and the same instant of time are shunted to the various axes successively. Thus in FIG. 2, the switches I, I,,, I, are understood to be closed cyclically for feeding the converter 3 and similarly the switches I',,, I, and I, are understood to be closed cyclically for feeding the servo motors 4,, 4,, and 4,.

The interpolation unit 2, which forms part of the invention is shown in FIG. 3. Such a unit consists essentially of two similar parts, one for elaborating the data relating to the x axis (the part at the top of FIG. 3) and operating substantially on the basis of the first of equations (3), (4 (S) and (6), and the second for elaborating the data relating to the y axis and operating on the basis of the second of the same equations.

Each part comprises essentially three registers R R R, and R,,, R R In the registers R and R,,. whose inputs are in communication with the program member I (FIG. 2), there are fed in respectively the terms yr, x, of equation (3). In fact such terms are fed into the registers subject to division by K, whereby the registers R R,, contain the terms yJK, xJK. In the registers R and R,, there are stored respectively Z(y,/ K) and Shh/K) of the same relation and finally in the registers R and R there are stored the summations ofAx, and Ay ,ofequation (6).

Two summators S and S,,,, whose inputs are connected respectively to the registers R R and R,,,, R,, are arranged to form the sums of the terms contained in the aforesaid registers as indicated in FIG. 3. The result of the sum is transferred from the outputs U,, U, of the summators to the corresponding register R R and from the outputs U',, U, of the same summators to the input of further summators S 8 The summators 8, 8,, are adapted to generate at their outputs U,, U, the summations computed at the end of each interpolation step 81 or microphase, whatever may be the total value then held in the summators, whilst their outputs U',, U, are only activated when the summations reach a predetermined value. Such predetermined or carry-forward value has been selected in the illustrated example to be equal to 1 micron, whereby at the summators S 8,, connected to the outputs U,, U, of the summators S 8,, there arrive successive terms whose value is equal to I micron.

The sum emerging from the summators S 8,, is stored in the registers R R Another two summators S, 8,, are arranged to effect the sum of the terms contained respectively in the registers R,,, R,, and of the terms coming from counters C,, and C, connected respectively to the outputs U, and U, of the summators S,, and 8,

In order for the terms coming from the counters C, and C, and added in the summators S 8,, respectively to the terms y,/K and xJK contained in the registers R,,, R,, to be homogeneous with these latter terms, they have to be divided by K. Such division can be effected either inside the counters themselves or, preferably, with known techniques, during introduction of the terms into the summators S S The sum emerging from the summators S S is applied to the registers R R,,.

The operation of the interpolation unit described occurs in the following manner.

It is assumed that interpolation of the arc of a circle P, P, with center of FIG. 1 is desired and that the interpolation starts from the point P,, (x, y,). At the start of the interpolation, there are applied to the registers R and R,,, from the program member 1 (FIG. 2), respectively, the coordinates y, and x,, which as they are fed in are divided by K. During the first step (or microphase) of the interpolation phase P, P, (FIG. 1) (corresponding to a displacement 81,), such coordinates are transferred from these registers to the summators S S,,, and from these into the registers Ru, R1".

During each successive step of length equal to 81, of this interpolation phase, the summators S,,, 8,, add to the content of the registers R R successive terms y,/K, x,/K obtained from the registers R,,, R,,. transferring the sum to the registers R R In these latter registers there are effected therefore the sums of the terms y,/K and x,/K relating to the first interpolation phase, which sums at each instant represent respectively the present value Ax, and Ay, of the displacement components.

As can be seen in FIG. I, with regard to the interpolation phase between P, and P,, as the summations proceed, Ax, increases more rapidly than Ay, and when Ax, Ax, 1 micron, from the output U of the summator 8,, there emerges a signal corresponding to the value of one unit (I micron) which causes an increment by the same unit, through the summator S,,, of the register R and, through the counter C, and the summator S of the register R,,.

Therefore at the end of the first interpolation phase there are present in the registers R,,, R, coordinates x, and yr, of value respectively 1, and Y1, and in the registers R 11,, there are present summations of the displacement components Ax,, Ay, equal to x, x, and 0.

The second interpolation phase P,P, takes place in a manner similar to that described, with the difference that in the registers R and R there has been preserved that part, less than one micron, of the displacement increments Ax, 2(y,/K), Ay, E(x,/K) previously totalized by the summators S,,., S,,. In particular, the content totalized by the summator 8,, during the second interpolation phase P, P is added by the summator itself with the content of the register R (equal to Ay,) and when such a sum reaches the value of 1 micron the carry-forwards emerging from the output U, of the summator S,, increment by one unit the registers 8,, and R Therefore at the end of the second interpolation phase there are present in the registers R,,, R coordinates x,, y, of value x, and y,. and in the registers R,,, R there are present summations of the displacement components Ax, Ay, equal to Ax,, Ay, +Ay,= 1 micron.

The third interpolation phase P, P, takes place like those previously described, an increment of one unit taking place in the registers S and R,, when Ax, Ax, 1 micron.

It can therefore be seen that the summators S S,,, during each interpolation phase, accumulate simply the xJK, y,/K whilst the carry-forwards greater than a micron of the operations effected by such summators are sent respectively to the counters C,, C and to the summators 8, S Furthermore, in each interpolation phase, in order to increment each register R,,, R,,, R R they contribute apart from the values of the y,/K, x,/K totalized in each phase also those totalized in the preceding phase and retained in the registers R R,,.

In the operation of the interpolating unit proceeding in order to interpolate the are of circle P, P, of FIG. 1, it can be seen that at the end of each interpolation phase the coordinates of the points x,, y, contained in the registers R,,, R and the summations of the displacement components Ax, Ay, contained in the registers R R are those given in the following Table.

interpolation content of the registers Ph 1- 1: a: iv

r PI Y: l

FI PI Ya l M By observing the values held in the registers R R R R it can be seen that the coordinates of the final point of the various interpolation phases subsequent to the first do not correspond to those of the points P,, P,, P P; but to those of the points S',, 8,, S',, S, respectively. It follows therefore that the interpolation unit described does not work exactly in accordance with equation (3), but in a slightly different manner but not giving rise, as will be specified later on, to error of interpolation whose order of magnitude is greater than that previously calculated with equations (14) and (i5).

If it were desired to make the interpolation unit work exactly in accordance with (3) it would be necessary for there to be accumulated in the registers R R S S during each interpolation phase, the components A1,, Ay, actually corresponding to that phase, the value of which could be even a fraction of the predetermined unit (a fraction of a micron).

In order to take account of the differences between the theoretical mode of operation corresponding to the strict application of equation (3) and the real one of the interpolating unit, with each interpolation phase ending at the points S',, S 5' 8,, the interpolating unit works in such a way that a subsequent phase originates from each of the aforesaid points. Therefore it can be considered that the second phase P, P starts from the point 8' that is to say that the accumulations which are effected during this phase are calculated in accordance with the direction of the tangent t, to the circle of center and radius 08' Similarly, it can be considered that the third phase P, --P, starts from the point 8 and that during this phase there are effected accumulations along the direction of the tangent t, to the circle of center 0 and radius 08,. The tangents t, and t 4 are obviously divergent and, with good approximation, form the same angle with the direction of the tangent at P, to the circle C the tangent according to whose direction there should have been effected the accumulations in the second phase working strictly in accordance with equation (3 One can therefore conclude that in each interpolation phase the interpolating unit works in a slightly different manner than the theoretical one foreseen by equation (3). The differences between the two modes of operation depend on the different direction of the tangents along which there are effected the accumulations of the microphases 61, in each phase. Such differences obviously introduce small errors, of an order less than that of the errors 6, or equation (14) and which are compensated in the subsequent phases.

Another method of taking account of the aforesaid differences consists in a considering that the relations (3) correspond to an interpolation according to the broken line P, P; P, P P whilst the interpolating unit works according to the broken line P, S, S, S, S The second broken line intersects, at the start and at the end of each phase, the first broken line and constitutes, with good approximation, a compensation line of the same. Therefore, with good approximation, the two final points P, and S of the aforesaid broken lines can be considered as coinciding. in the case illustrated in FIG. 1 the point 8, approximates quite better than the point P, the circle C the distance of the first point from the point P, being less than the distance of the second point from the same point P' SPEED CONTROL OF THE DEVICE Similarly to other numerical control devices, the device of the invention is provided with means for generating cyclically signals at the end of periods of time of predetermined duration At.

Each period of time At defines a period of time during which it can be assumed that there takes place one complete cycle of operation of the device of the invention. In such a period of time, which is considerably greater than the maximum length of one interpolation phase of the interpolation unit 2 (corresponding to a displacement P. P of the broken line of FIG. 1), there normally takes place several interpolation phases of such a unit and in the registers R R (HO. 3) there are accumulated the sum of the displacement components Ax Ay, relating to these phases.

The values of the summations of the displacement components ZAx 2A, accumulated in such registers, can be used, in known manner, at the end of each of the cycles to control the displacement of the movable member. In this case, at the end of each of the said cycles of duration At there could be transferred to the digital to analog converter 3 (FIG. 2) all the accumulations of the displacement components Ax Ay, which the interpolating unit 2 has totalized in the same period At. Before applying the summations ZAx, and EAy, to the converter 3 it would be necessary to add to these either the coordinates, x and y, respectively, of the point P, with regard to the origin 0 of the axes x, y, or the corresponding coordinates of such an origin with regard to another fixed system of axes.

By working in this way the summations of Ax Ay, which the interpolation unit 2 has managed to accumulate in the registers R R in the period of time At, and the value of which obviously depends on the speed with which the unit itself works, give rise to corresponding displacements of the movable member along the path, which occur with the maximum speed v. in fact the speed of displacement v of the movable member, in each cycle, is, with good approximation, equal to the relation between the displacement of the member itself along the path in the time At, and such time. Since At is constant, such a speed turns out to be proportional to the displacement which the movable member effects during a cycle. The maximum value of such a displacement is that corresponding to the displacement totalized in the time At by the interpolation unit (displacement characterized by the terms EAx, and EA), whereby, if such a displacement is also that which is permitted to the movable member in the time At, the maximum speed of the member is realized.

If on the other hand it is desired to obtain displacements of the movable member at a controlled speed and, in particular, if it is desired to cause the displacement of the movable member in each of the cycles of duration At to occur at a speed not greater than a speed which is predetermined and programmed in the program member 1 (FIG. 2) of the device, one can proceed as is indicated in US. Pat. No. 3,518,513 and as is expounded in brief hereinunder.

If in the time A! there are transmitted from the interpolating unit to the movable member displacement components such as to realize a certain displacement As" of the member along the path, its speed during a cycle is equal to v As/Ar. Therefore the control of the speed can be effected by controlling simply the displacement As of the movable member along the path during each cycle.

Since the speed of the movable member has components v,, v, along the two axes x, y, which are related to each other, it follows that to ensure that the speed v does not exceed the aforesaid predetermined value it is sufficient to ensure that neither of the two components v,, v, exceeds a predetermined value. To do this, it is sufficient to ensure that the two components of the displacement As along the two axes As As,,, respectively do not exceed a predetermined maximum value, indicated hereinafter by As -M and As M. The maximum speed in each cycle can therefore be programmed by fixing the values of As,M and As,,M and is achieved when either one of the components As,, As, of the displacement As of the movable member equals As,M or As M. It is noted that, for the purposes of the limitation of the speed during each cycle, the displacement As is measured in the direction of the speed v of the point of the path from which the cycle itself originates.

For the purposes of the application of the concepts expounded in the above Patent to the device of the invention, it is sufficient to keep in mind that, the values of As -,M and A.r,,M being determined, the achievement of the maximum speed is obtained when one of the two components of the movable member, which displacement is presumed to be effected in the direction of the tangent to the circle to be interpolated which passes through the point from which the interpolation cycle originates, equals As,M or As M.

In FIG. 4 there has been shown an interpolation cycle originating at P and terminating at a point P, and comprising three interpolation phases. In this Figure there have been indicated segments of length equal to As,M and As,,M whose values have been presumed to be calculated by the techniques expounded in the above Patent. The displacement As of the movable member sufficient to achieve the maximum speed is equal to the sum of the segments P, P,, P, P,, P, P,. With P, R',= As there has been indicated a segment which is the sum of the aforesaid segments and having the direction of the tangent at P to the circle C. to be interpolated. The maximum speed, achieved at P occurs when one of the projections As,, As,, of such segment on the axes x or y reaches the value of As,M or As M. In the Figure it has been assumed that the value of As,M has been reached.

In accordance with the present invention, for calculating the components As As, of As one proceeds in the following manner.

With good approximation it can be assumed that the microphase displacement increments 5!, (FIG. 4) which cover the segments P, P referring to the various interpolation phases are all equal. In fact, passing from the first interpolation phase to the subsequent one the yt/K diminish (in the case of FIG. 4) but the MK increase and, therefore one can suppose that 8h, which is the hypotenuse of a right-angled triangle whose sides are .q/ K and yJK, remains constant and that the various increments 81, are arcs subtending equal angles 88,.

If therefore the various steps 6h of FIG. 4 are all the same and equal to 81,, both the sum of the segments P, P P, P,, P, P and the segment P, P',== As are equal to the same summation 281, of displacement increments 81,. Since the projections of 81, on the axes x and y are respectively y lK and x lK, the projections on the axes x and y of the summation 281, are therefore ZUJAEK) and SU /K).

It follows that, in the case of the interpolation cycle of FIG. 4, the achievement of the maximum speed takes place when one of the following two equalities is reached:

And, in general, for a generic cycle which originates from a point with coordinates x,, y such a condition is realized when:

The device of the invention is provided with a unit adapted to work on the basis of equation (17), for generating a signal in corresponding with the achieving of one of the aforesaid equalities.

Such a unit is shown in FIG. 5 and comprises three registers R". R, and R The outputs of the first two registers are connected to the inputs of a summator 5,, one of whose outputs U, is connected to the input of another summator S and the other, U,,, to the input of the register R The input of the register R is connected to the output of one of the registers R or R of one of the two groups of the interpolation unit of FIG. 2.

The output of the summator S is connected to the input of the register R whose output is connected in turn to one of the inputs of the summator S,,,. Another output of the register R goes to the input E, of a comparator C, connected to the program member 1 (FIG. 2) of the device, from which there is applied to another input E, of the comparator the components of displacement As ,M or As,M.

The unit described operates in the following manner.

Into the register R there is fed, at the start of each interpolation cycle, the value of ar /K or of y,/K. By working in a manner similar to that described with reference to the complex of the registers R R and of the summator S1, (or to the complex of the registers R R and of the summator S of the interpolation unit of FIG. 2, at each step of each interpolation phase, in the register R there are accumulated n/K or v /K.

By using an arrangement already adopted for the summators S or S of FIG. 2, from the output U, of the summator 8,, there emerge solely the carry-forwards of the Han/K) (or of the EyJK) of a value greater than 1 micron, and therefore in the register R there is effected the accumulation of such carry-forwards. When the value of Esq/K (or of ZyJK) of such register, applied to the comparator C,,, satisfies one of the relations (17), the comparator generates a signal which stops the interpolation cycle. At this point the components ZAxh EAy, contained in the registers R R of the interpolating unit of FIG. 2 are transferred to the converter 3 for controlling the displacement of the movable member of the machine, with a speed which is equal to the programmed speed.

For the calculation of the components As M and As,M there is necessary the knowledge of the components v, and v, of the speed v of the points from which each interpolation cycle originates. Such a calculation can be effected, on the basis of the present invention, in the following manner.

With reference to FIG. 6 let is be supposed, for example, that one wishes to determine the component v,, of the speed v of the point P,. One indicates with C the circle with center and radius R, along which the movable member moves and with C, a fictitious circle concentric with the circle C, with radius equal to the speed v of the point P,. From the similarity of the triangles C'IU, OSP,, ROM and with the symbols of the Figure one has: t/v =x,/R, v,,/v, from which it can be seen that the segment I is equal to v,,.

In order to be able to have v, immediately available it is therefore simply necessary to effect, once the coordinates x,, y, of the point P, are known, two circular interpolations of the type described, by means of one of which one passes from the point P, to the point P, on the axis x and by means of the second of which one passes from the point Q on the circle C,, to the point 0' on that radius of the circle which passes through H.

An entirely similar reasoning holds goods for the determination of the component v, of the speed v, which has already been shown in FIG. 6.

From FIG. 6 is can be noted that, if with the two aforesaid interpolations, one beginning at P. and the other beginning at 0, it is desired to reach the final points P. and 0' respectively at the same instant, it is necessary that the number of the interpolation phases by the same and that therefore the angle 0, relating to corresponding phases of the two interpolations be the same.

To determine the components v, and v, of the speed the device of the invention comprises a unit shown in FIG. 7 comprising two groups, each of which is substantially the same as the interpolating unit shown in FIG. 2 and is arranged to effect the interpolation of one of the circles C. and C, of FIG. 6.

The components of each of such groups, which are identical to corresponding components of the interpolation unit of FIG. 2, are marked with the same references as used in FIG. 2, (without index the components of the group to the left of FIG. 7 and with the index those of the group to the right). The detailed operation of each of such groups is not described, it being entirely similar to that of the interpolating unit of FIG. 2. Into the registers R R there are introduced the coordinates x y of the point P, (FIG. 6), whilst into the registers R',,, R' there are introduced the coordinates v and O of the points 0 (FIG. 6).

Furthermore, the structure of each of the groups is slightly simplified with regard to that of the unit of FIG. 2, the summators S 8,, the registers R R and the counters C,, C, being omitted. Such a simplification is possible since in this case, unlike what occurred for the interpolation unit of FIG. 2, it is not necessary to determine 2th,, EA nor is it necessary to divide by K the terms coming from the summators S 8', before adding them in the summators S 8' This latter simplification derives from the fact that in each interpolation phase the angle 0, has to be the same, both for the circle C and for the circle C,,. To obtain this, the terms which have to be accumulated in the registers R,,, R R',,, R',,, have to be the same weight" and therefore have to he introduced in a fixed relation in the summators S S11, S'

It is clear that modifications and variations can be made to the described embodiment of the present invention, without departing from the scope of the invention itself.

What is claimed is:

1. In a position control device for the continuous positioning of a member movable along at least two axes in accordance with discontinuous position orders which define axes of a circle belonging to the path which is to be followed, an interpolation unit operative through a succession of interpolation phases each of said phases being employed to compute a path segment which is tangential to one of said axis of a circle, said interpolation unit comprising:

an input for receiving each coordinate (x,, u) of the point from which each interpolation phase originates;

first means connected to said input to divide each coordinate input by a predetermined factor K to generate relations (x /K, yJK) representing incremental displacement components referred to the respective axes (y, x) along each of said segments of said path;

second means connected to said first means to form during each interpolation phase summations (Esq! K EyJK of each of said incremental displacement components, said summations including the same number of terms and representing the components (Ayr. Ax referred to said axes (y, x) of each of said segments of said path; and

third means connected to said second means to form the sum of said path segment components (Ay Ax over said successive interpolation phases.

2. The combination as claimed in claim 1, wherein said interpolation unit further comprises means for stopping the formation of said summations (E(x,/K), Z(y,/AK)) of said incremental displacement componen and for ending the interpolation phase and initiating the calculation of summations of new incremental displacements (E(:q l)/K, 2(y, l)/K) to initiate a subsequent interpolation phase, such increments being obtained by dividing by K the coordinates x, y, t of a point of one of said path segments defined by the relations:

i l t l it 1 yr 74 when one of the summations (Hm/K), 2(yJK)) of incremental displacement components reaches a predetennined value.

3. The combination as claimed in claim 2, wherein said second means operates in a subsequent interpolation phase by adding to the summations of the incremental displacement components for the preceding phase in the event that said incremental displacement components did not reach said predetermined value in said preceding phase.

4. The combination as claimed in claim 2, wherein said predetermined value is selected so as to make the error incurred in the interpolation of a complete circle and given by the relation:

less than a predetermined amount.

5. The combination as claimed in claim 4, wherein said predetermined value is equal to a unit selected in a metric system of measurement.

6. The combination as claimed in claim 5, wherein said unit is equal to 1 micron.

7. The combination as claimed in claim 1, wherein said first means is adapted to operate with a factor K whose value can be selected from a plurality of values, high values being selected for interpolating arcs of circles of high radius and small values for interpolating arcs of circles of small radius.

8. The combination as claimed in claim 1, wherein said second means comprises, for each displacement axis (x, y), a first summator, a first register for said summations and a second register for the coordinates of the points from which each interpolation phase originates, said coordinates being introduced into said second register by dividing them by K and said first summator operating so as to add, in successive periods of time, to the content of said first register an incremental displacement component (xJK, yJK) obtained from said second register.

9. The combination as claimed in claim 8, wherein for each displacement axis (x, y), there is a second summator operative to add, during each of said periods of time, to the content of said second register the sum generated by said first summator relative to the other coordinate axis.

10. The combination as claimed in claim 8, wherein said third means comprises for each displacement axis, a third summator and a third register, said third summator totalizing the summations computed by said first summator during successive interpolation phases for incrementing said third register.

11. The combination as claimed in claim 10, wherein each of said first summators is provided with a pair of outputs, to a first one of which there is applied the actual sum generated by said first summator and to the second of which there is applied the sum generated by said first summator only when said sum is equal to or greater than said unit, said first output of each of said first summators being connected to said associated first register said second output of each of said first summators being connected to said second and third associated summators.

12. The combination as claimed in claim 1, wherein the interpolation is effected in a series of interpolation cycles of constant duration (At) each comprising several interpolation phases, comprising fourth means operative to calculate during each of said cycles the summations (2(x /K), Z(y /K)) of said incremental displacement components, and to compare said summations with maximum displacement components (As,M, As M) to stop said interpolation unit when either:

whereby the speed of said member does not exceed a predetermined speed.

13. The combination as claimed in claim 12, wherein said fourth means comprises a first summator, a first register for said summations and a second register connected to receive said incremental displacement components, said first summator being operative to add, in successive periods of time, to the content of said first register an incremental displacement component (xJK, yJK) obtained from said second register, one output of said summator being arranged to generate the sum computed by said summator only when said sum is equal to or greater than a predetermined unit.

14. The combination as claimed in claim 13, wherein said fourth means comprises a second summator connected to said output of said first summator and to a third register arranged to receive the sum computed by said second summator.

15. The combination as claimed in claim 14, wherein said third register is connected to a comparator to another input of which there are applied the maxim displacement components (As,M, As M).

16. The combination as claimed in claim 1, including means operative to calculate the components (v,, v,) of the speed v of each point from which an interpolation cycle starts, comprising further means for effecting, simultaneously, two circular interpolations, a first relating to an arc of a circle of said path and the second relating to an arc of a circle concentric with said preceding circle and with a radius equal to the speed of a point on said path, said further means being operative to cause said first interpolation to start from a point on said circle of said path and to cause it to end at a point on one of the displacement axes (x, y) and to cause said second interpolation to start from a point on said displacement axis (x, y) and to cause it to end at a point on the radius which passes through said point on the circle of the path, the components v,, v, of the speed of said point of the circle of the speed corresponding to the coordinates of the final point of said second interpolation.

17. The combination as claimed in claim 16, wherein said further means is arranged to effect said two interpolations with the same number of interpolation phases and in the same period of time.

18. The combination as claimed in claim 16, wherein said interpolation unit includes registers for storing said incremental displacement component values, and said further means comprises two parts each of which is the same as said interpolation unit, having registers corresponding to said registers of said interpolation unit, and means operative to apply to said registers of one of said parts of said further means the coordinates of said point on said circle of the path and to said registers of the other of said parts coordinates consisting of said speed and zero (I), 0). 

1. In a position control device for the continuous positioning of a member movable along at least two axes in accordance with discontinuous position orders which define axes of a circle belonging to the path which is to be followed, an interpolation unit operative through a succession of interpolation phases each of said phases being employed to compute a path segment which is tangential to one of said axis of a circle, said interpolation unit comprising: an input for receiving each coordinate (xi, yi) of the point from which each interpolation phase originates; first means connected to said input to divide each coordinate input by a predetermined factor K to generate relations (xi/K, yi/K) representing incremental displacement components referRed to the respective axes (y, x) along each of said segments of said path; second means connected to said first means to form during each interpolation phase summations ( Sigma xi/K, Sigma yi/K) of each of said incremental displacement components, said summations including the same number of terms and representing the components ( Delta yi, Delta xi) referred to said axes (y, x) of each of said segments of said path; and third means connected to said second means to form the sum of said path segment components ( Delta yi, Delta xi) over said successive interpolation phases.
 1. In a position control device for the continuous positioning of a member movable along at least two axes in accordance with discontinuous position orders which define axes of a circle belonging to the path which is to be followed, an interpolation unit operative through a succession of interpolation phases each of said phases being employed to compute a path segment which is tangential to one of said axis of a circle, said interpolation unit comprising: an input for receiving each coordinate (xi, yi) of the point from which each interpolation phase originates; first means connected to said input to divide each coordinate input by a predetermined factor K to generate relations (xi/K, yi/K) representing incremental displacement components referRed to the respective axes (y, x) along each of said segments of said path; second means connected to said first means to form during each interpolation phase summations ( Sigma xi/K, Sigma yi/K) of each of said incremental displacement components, said summations including the same number of terms and representing the components ( Delta yi, Delta xi) referred to said axes (y, x) of each of said segments of said path; and third means connected to said second means to form the sum of said path segment components ( Delta yi, Delta xi) over said successive interpolation phases.
 2. The combination as claimed in claim 1, wherein said interpolation unit further comprises means for stopping the formation of said summations ( Sigma (xi/K), Sigma (yi/K)) of said incremental displacement components and for ending the interpolation phase and initiating the calculation of summations of new incremental displacements ( Sigma (xi + 1)/K, Sigma (yi + 1)/K) to initiate a subsequent interpolation phase, such increments being obtained by dividing by K the coordinates xi 1, yi 1 of a point of one of said path segments defined by the relations: xi 1 xi + Delta xi yi + 1 yi + Delta yi when one of the summations ( Sigma (xi/K), Sigma (yi/K)) of incremental displacement components reaches a predetermined value.
 3. The combination as claimed in claim 2, wherein said second means operates in a subsequent interpolation phase by adding to the summations of the incremental displacement components for the preceding phase in the event that said incremental displacement components did not reach said predetermined value in said preceding phase.
 4. The combination as claimed in claim 2, wherein said predetermined value is selected so as to make the error incurred in the interpolation of a complete circle and given by the relation: epsilon c pi Square Root ( Sigma (xi/K)) 2+ ( Sigma (yi/K))2 less than a predetermined amount.
 5. The combination as claimed in claim 4, wherein said predetermined value is equal to a unit selected in a metric system of measurement.
 6. The combination as claimed in claim 5, wherein said unit is equal to 1 micron.
 7. The combination as claimed in claim 1, wherein said first means is adapted to operate with a factor K whose value can be selected from a plurality of values, high values being selected for interpolating arcs of circles of high radius and small values for interpolating arcs of circles of small radius.
 8. The combination as claimed in claim 1, wherein said second means comprises, for each displacement axis (x, y), a first summator, a first register for said summations and a second register for the coordinates of the points from which each interpolation phase originates, said coordinates being introduced into said second register by dividing them by K and said first summator operating so as to add, in successive periods of time, to the content of said first register an incremental displacement component (xi/K, yi/K) obtained from said second register.
 9. The combination as claimed in claim 8, wherein for each displacement axis (x, y), there is a second summator operative to add, during each of said periods of time, to the content of said second register the sum generated by said first summator relative to the other coordinate axis.
 10. The combination as claimed in claim 8, wherein said third means comprises for each displacement axis, a third summator and a third register, said third summator totalizing the summations computed by said first summator during successive interpolation phases For incrementing said third register.
 11. The combination as claimed in claim 10, wherein each of said first summators is provided with a pair of outputs, to a first one of which there is applied the actual sum generated by said first summator and to the second of which there is applied the sum generated by said first summator only when said sum is equal to or greater than said unit, said first output of each of said first summators being connected to said associated first register said second output of each of said first summators being connected to said second and third associated summators.
 12. The combination as claimed in claim 1, wherein the interpolation is effected in a series of interpolation cycles of constant duration ( Delta t) each comprising several interpolation phases, comprising fourth means operative to calculate during each of said cycles the summations ( Sigma (xi/K), Sigma (yi/K)) of said incremental displacement components, and to compare said summations with maximum displacement components ( Delta sxM, Delta sxM) to stop said interpolation unit when either: Delta sxM Sigma (yi/K) or Delta syM Sigma (xi/K) whereby the speed of said member does not exceed a predetermined speed.
 13. The combination as claimed in claim 12, wherein said fourth means comprises a first summator, a first register for said summations and a second register connected to receive said incremental displacement components, said first summator being operative to add, in successive periods of time, to the content of said first register an incremental displacement component (xi/K, yi/K) obtained from said second register, one output of said summator being arranged to generate the sum computed by said summator only when said sum is equal to or greater than a predetermined unit.
 14. The combination as claimed in claim 13, wherein said fourth means comprises a second summator connected to said output of said first summator and to a third register arranged to receive the sum computed by said second summator.
 15. The combination as claimed in claim 14, wherein said third register is connected to a comparator to another input of which there are applied the maxim displacement components ( Delta sxM, Delta syM).
 16. The combination as claimed in claim 1, including means operative to calculate the components (vx, vy) of the speed 98 of each point from which an interpolation cycle starts, comprising further means for effecting, simultaneously, two circular interpolations, a first relating to an arc of a circle of said path and the second relating to an arc of a circle concentric with said preceding circle and with a radius equal to the speed of a point on said path, said further means being operative to cause said first interpolation to start from a point on said circle of said path and to cause it to end at a point on one of the displacement axes (x, y) and to cause said second interpolation to start from a point on said displacement axis (x, y) and to cause it to end at a point on the radius which prsses through said point on the circle of the path, the components vx, vy of the speed of said point of the circle of the speed corresponding to the coordinates of the final point of said second interpolation.
 17. The combination as claimed in claim 16, wherein said further means is arranged to effect said two interpolations with the same number of interpolation phases and in the same period of time. 